草庐IT

JavaScript setTimeout 无法访问函数变量

全部标签

JavaScript 函数队列

我有大量功能需要连续运行,但不能在另一个完成之前运行。我需要的是一种将这些函数排入队列以仅在前一个函数成功完成后运行的方法。有什么想法吗?Function1();Function2();Function3();Function4();Function5(); 最佳答案 你可以使用这样的东西:varFunctionQueue=(function(){varqueue=[];varadd=function(fnc){queue.push(fnc);};vargoNext=function(){varfnc=queue.shift();f

javascript - 原型(prototype)链、构造函数、继承

我正在玩javascript原型(prototype)。我是新手,所以我有一个小问题。我正在使用这个article作为指南。我已经定义了一个产品和一本书。Book.prototype.constructor=Book();这个的目的是什么。我想不通。无论有没有它,我都能成功地调用父构造函数。Book.prototype=newProduct;Book.prototype.constructor=Book;//What'sthepurposeofthis这是我的jsFiddlelink 最佳答案 首先,newProduct()创建一个

javascript - 如何将变量转换成json?

我想将json数据发送到ajax,但是如何将变量转换为json或将数组转换为json?$(".confirm_order").click(function(event){event.preventDefault();varstreet=$("#street").val();varlocation=$("#location").val();varnumber=$("#number").val();varf=???$.ajax({type:'post',url:"/orders",dataType:"json",data:f,success:function(l){alert("Done"

javascript - Javascript "apply"函数在 window.external 扩展对象中不存在

我在IE8(也可能是任何IE版本)上使用javascript扩展(又名window.external)来公开某些功能。我正在尝试调用apply函数,该函数(根据here应该是)在window.external对象的每个JS函数中原生嵌入函数,但浏览器不断抛出异常,表明该函数不存在apply函数。例如,这段代码有效:functiononDataReceived(url,success,status,data,errorMessage){alert(onDataReceived);}functioninnerTest(){alert(arguments[0]+","+arguments[1

javascript - 关于javascript函数声明的问题

javascript函数声明如下:JSON.stringify=JSON.stringify||function(obj){//stuff};上面的声明和下面的声明有什么不同?functionstringify(obj){//stuff} 最佳答案 functionstringify将在全局范围内声明函数(如果您不在另一个范围内,例如另一个函数或哈希)或您当前所在的范围.例子:functiona(){...}/*globalscope*/functiona(){functionb(){...}/*scopeofthea()funct

javascript - "newing"JavaScript 中的一个函数 - 它是什么意思?

考虑以下代码:varf=function(){return10;}typeoff;//returns"function"f();//returns10varg=f;g();//returns10,obviouslyvarh=newf;h;//consoleevaluatestof-????h();//Typeerror-called_non_callabletypeofh;//returns"object"那么,这里的h是什么?Chrome控制台似乎将其评估为f,但它不可调用。"new"这样的功能是什么意思?h现在与f有什么关系?顺便说一句,这两行看起来是等价的:varh=newf;v

javascript - 为什么构造函数中需要apply()函数

functionSet(){//Thisistheconstructorthis.values={};this.n=0;this.add.apply(this,arguments);//Allargumentsarevaluestoadd}//Addeachoftheargumentstotheset.Set.prototype.add=function(){/*Codetoaddpropertiestotheobject'svaluesproperty*/returnthis;};这是“Javascript:权威指南”中用于创建“Set”类的代码的开头。我试图合理化apply()的必

Javascript 错误 - 找不到变量 : google

我编写的代码在浏览器上运行得非常好。但是当我在iPhone上连接到wifi时,调试器出现错误:Javascript错误-找不到变量:谷歌每当我调用任何googlemaps/directions/geoLocation对象时都会发生这种情况。代码如下:map=newExt.Map({mapOptions:{center:center,zoom:20,//mapTypeId:google.maps.MapTypeId.ROADMAP,navigationControl:true,navigationControlOptions:{style:google.maps.NavigationCo

javascript - Google Analytics 是否具有用于长时间运行的 Web 应用程序的 "heartbeat"函数?

我正在制作一个专注于观看嵌入式内容的网络应用程序。我希望应用程序客户端向GA(GoogleAnalytics)发送“心跳”类型的信号以保持session继续进行。现在看来,如果访问者观看视频5-10分钟,GA会假定他已经离开页面并将用户的操作注册为新session。在我让数百人测试该应用程序并且GA实时测试版在页面上注册了约100人之后,我做出了这个假设。几分钟后,人数开始急剧下降,尽管几乎所有访问者仍在使用该应用程序观看直播。谢谢 最佳答案 我会每10分钟触发一个事件,并将opt_noninteraction设置为true。fun

javascript - JSON 路径中的变量

我想创建包含在JSON变量中的数据路径。我现在的代码如下所示:functionwriteDB(block){$.getJSON('js/data.js',function(data){if(block=="path1"){varadr=data.test.path1.db;};if(block=="path2"){varadr=data.test.path2.db;};if(block=="path3"){varadr=data.test.path3.db;};vardatastring="";$.each(adr,function(i,field){temp=encodeURICom